<?php
    /*
     * 接受前端返回的json数据，
     * 处理为数组对象，
     * 调用read。php
     * new一个post对象
     * 就数据库进行操作
     *
     * */

//当返回json数据的时候，解析即可
/*
 * json_decode： json字符串转json对象
 * json_encode： json对象转json字符串
 *
 * */

    function get_activation_key($email,$salt){
        //由邮箱和盐生成激活码
        $activation_key = $email.$salt;
        $activation_key = md5($activation_key);

        return $activation_key;
    }
    require_once ("./read.php");

    $object = file_get_contents('php://input');

    $object = json_decode($object);

    $getJsonData = array(
        'username' => fliter(deal_input($object->username)),
        'password' => fliter(deal_input($object->password)),
        'nickname' => fliter(deal_input($object->nickname)),
        'email' => fliter(deal_input($object->email)),
        //'user_activation_key' => get_activation_key(fliter(deal_input($object->email)),$salt),
        //'user_status' => 1
    );

    $RespData = array(
        'status' => 200,    #假设200状态为正常
        'msg' => '注册成功', # 默认为注册成功，当进入post。php里面会进行判断，若注册失败就会修改这个信息
        'data' => $getJsonData
    );
if ($post->ExistUsername($getJsonData['username'])){
    $res = array(
            "status"=>201,
            "msg"=>"用户名已经存在"
        );
}else{
    $statuscode = $post->ExistEmail($getJsonData['email']);
    if( !$statuscode ){
        $res = $post->insert($RespData);

    }else{
        $res = array(
                "status"=>201,
                "msg"=>"邮箱已被注册"
            );
    }
}

echo json_encode($res,JSON_UNESCAPED_UNICODE);
/**
 * 这个地方我很好奇，测试的时候出现了这么一个情况----------注释与 2020-4-22 23：21
 * 1、如果 var_dump($res) 就会提示错误，见 “错误信息①”
 * 2、如果用 echo $res 就完全ok
 * 3、如果删除 echo $res 这一行，嘿嘿嘿 ，会报错
错误信息①：Uncaught SyntaxError: Unexpected end of JSON input
at JSON.parse (<anonymous>)
at XMLHttpRequest.xhr.onreadystatechange
 */
return  json_encode($res,JSON_UNESCAPED_UNICODE);


